package com.jichangxiu.server.platform.service.impl;

import com.jichangxiu.framework.mybatis.BaseServiceImpl;
import com.jichangxiu.server.platform.entity.po.PlatformMenuPower;
import com.jichangxiu.server.platform.mapper.PlatformMenuPowerMapper;
import com.jichangxiu.server.platform.service.PlatformMenuPowerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * PlatformMenuPowerServiceImpl:
 *
 * @author Jcx
 * @create 2023-03-08 21:18
 */
@Service
public class PlatformMenuPowerServiceImpl extends BaseServiceImpl<PlatformMenuPowerMapper, PlatformMenuPower> implements PlatformMenuPowerService {

    @Autowired
    private PlatformMenuPowerMapper platformMenuPowerMapper;

    /**
     * 根据租户ID和用户ID获取该用户所拥有的角色权限列表
     *
     * @param tenantId 租户ID
     * @param userId   用户ID
     * @return 角色权限列表
     */
    @Override
    public List<PlatformMenuPower> getPowerListByUser(@NotBlank(message = "租户ID不能为空") String tenantId, @NotBlank(message = "用户ID不能为空") String userId) {
        return platformMenuPowerMapper.getPowerListByUser(tenantId, userId);
    }

    /**
     * 根据租户ID和角色ID获取该用户所拥有的角色权限列表
     *
     * @param tenantId 租户ID
     * @param roleId   角色ID
     * @return 角色权限列表
     */
    @Override
    public List<PlatformMenuPower> getPowerListByRole(@NotBlank(message = "租户ID不能为空") String tenantId, @NotBlank(message = "角色ID不能为空") String roleId) {
        return platformMenuPowerMapper.getPowerListByRole(tenantId, roleId);
    }

}
